{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "      <th>5</th>\n",
       "      <th>6</th>\n",
       "      <th>7</th>\n",
       "      <th>8</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2019162542</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>162644</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>162742</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>5</td>\n",
       "      <td>845.84</td>\n",
       "      <td>136.31</td>\n",
       "      <td>225.73</td>\n",
       "      <td>169.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:02:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>162808</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>9</td>\n",
       "      <td>1305.52</td>\n",
       "      <td>90.12</td>\n",
       "      <td>196.61</td>\n",
       "      <td>145.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:03:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>162943</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>3</td>\n",
       "      <td>568.89</td>\n",
       "      <td>138.45</td>\n",
       "      <td>232.02</td>\n",
       "      <td>189.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:04:07</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            0                       1  2        3       4       5      6   7  \\\n",
       "0  2019162542  /front-api/bill/create  8  1057.31   88.75  177.72  132.0  60   \n",
       "1      162644  /front-api/bill/create  5   749.12  103.79  240.38  149.0  60   \n",
       "2      162742  /front-api/bill/create  5   845.84  136.31  225.73  169.0  60   \n",
       "3      162808  /front-api/bill/create  9  1305.52   90.12  196.61  145.0  60   \n",
       "4      162943  /front-api/bill/create  3   568.89  138.45  232.02  189.0  60   \n",
       "\n",
       "                     8  \n",
       "0  2018-11-01 00:00:07  \n",
       "1  2018-11-01 00:01:07  \n",
       "2  2018-11-01 00:02:07  \n",
       "3  2018-11-01 00:03:07  \n",
       "4  2018-11-01 00:04:07  "
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_csv('./log.txt', header = None, sep = '\\t')\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>api</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2019162542</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>162644</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>162742</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>5</td>\n",
       "      <td>845.84</td>\n",
       "      <td>136.31</td>\n",
       "      <td>225.73</td>\n",
       "      <td>169.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:02:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>162808</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>9</td>\n",
       "      <td>1305.52</td>\n",
       "      <td>90.12</td>\n",
       "      <td>196.61</td>\n",
       "      <td>145.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:03:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>162943</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>3</td>\n",
       "      <td>568.89</td>\n",
       "      <td>138.45</td>\n",
       "      <td>232.02</td>\n",
       "      <td>189.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:04:07</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           id                     api  count  res_time_sum  res_time_min  \\\n",
       "0  2019162542  /front-api/bill/create      8       1057.31         88.75   \n",
       "1      162644  /front-api/bill/create      5        749.12        103.79   \n",
       "2      162742  /front-api/bill/create      5        845.84        136.31   \n",
       "3      162808  /front-api/bill/create      9       1305.52         90.12   \n",
       "4      162943  /front-api/bill/create      3        568.89        138.45   \n",
       "\n",
       "   res_time_max  res_time_avg  interval           created_at  \n",
       "0        177.72         132.0        60  2018-11-01 00:00:07  \n",
       "1        240.38         149.0        60  2018-11-01 00:01:07  \n",
       "2        225.73         169.0        60  2018-11-01 00:02:07  \n",
       "3        196.61         145.0        60  2018-11-01 00:03:07  \n",
       "4        232.02         189.0        60  2018-11-01 00:04:07  "
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.columns = ['id', 'api', 'count', 'res_time_sum', 'res_time_min', 'res_time_max', 'res_time_avg', 'interval', 'created_at']\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>api</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>161978</th>\n",
       "      <td>12087365</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>1</td>\n",
       "      <td>107.01</td>\n",
       "      <td>107.01</td>\n",
       "      <td>107.01</td>\n",
       "      <td>107.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-11 11:12:01</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9366</th>\n",
       "      <td>1000708</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>11</td>\n",
       "      <td>1953.48</td>\n",
       "      <td>124.92</td>\n",
       "      <td>265.65</td>\n",
       "      <td>177.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-11 21:23:28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>159839</th>\n",
       "      <td>11922709</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>10</td>\n",
       "      <td>1692.01</td>\n",
       "      <td>96.66</td>\n",
       "      <td>313.24</td>\n",
       "      <td>169.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-08 20:08:57</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8796</th>\n",
       "      <td>954430</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>3</td>\n",
       "      <td>542.43</td>\n",
       "      <td>114.53</td>\n",
       "      <td>226.29</td>\n",
       "      <td>180.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-11 11:44:28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3078</th>\n",
       "      <td>444355</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>5</td>\n",
       "      <td>881.42</td>\n",
       "      <td>140.34</td>\n",
       "      <td>207.05</td>\n",
       "      <td>176.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-04 17:09:16</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              id                     api  count  res_time_sum  res_time_min  \\\n",
       "161978  12087365  /front-api/bill/create      1        107.01        107.01   \n",
       "9366     1000708  /front-api/bill/create     11       1953.48        124.92   \n",
       "159839  11922709  /front-api/bill/create     10       1692.01         96.66   \n",
       "8796      954430  /front-api/bill/create      3        542.43        114.53   \n",
       "3078      444355  /front-api/bill/create      5        881.42        140.34   \n",
       "\n",
       "        res_time_max  res_time_avg  interval           created_at  \n",
       "161978        107.01         107.0        60  2019-05-11 11:12:01  \n",
       "9366          265.65         177.0        60  2018-11-11 21:23:28  \n",
       "159839        313.24         169.0        60  2019-05-08 20:08:57  \n",
       "8796          226.29         180.0        60  2018-11-11 11:44:28  \n",
       "3078          207.05         176.0        60  2018-11-04 17:09:16  "
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.sample(5) #随机采样"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(179496, 9)"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.shape  #显示多少数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "id                int64\n",
       "api              object\n",
       "count             int64\n",
       "res_time_sum    float64\n",
       "res_time_min    float64\n",
       "res_time_max    float64\n",
       "res_time_avg    float64\n",
       "interval          int64\n",
       "created_at       object\n",
       "dtype: object"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.dtypes  #显示数据类型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 179496 entries, 0 to 179495\n",
      "Data columns (total 9 columns):\n",
      " #   Column        Non-Null Count   Dtype  \n",
      "---  ------        --------------   -----  \n",
      " 0   id            179496 non-null  int64  \n",
      " 1   api           179496 non-null  object \n",
      " 2   count         179496 non-null  int64  \n",
      " 3   res_time_sum  179496 non-null  float64\n",
      " 4   res_time_min  179496 non-null  float64\n",
      " 5   res_time_max  179496 non-null  float64\n",
      " 6   res_time_avg  179496 non-null  float64\n",
      " 7   interval      179496 non-null  int64  \n",
      " 8   created_at    179496 non-null  object \n",
      "dtypes: float64(4), int64(3), object(2)\n",
      "memory usage: 12.3+ MB\n"
     ]
    }
   ],
   "source": [
    "df.info() # 查看内存占用空间"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count                     179496\n",
       "unique                         1\n",
       "top       /front-api/bill/create\n",
       "freq                      179496\n",
       "Name: api, dtype: object"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['api'].describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>112157</th>\n",
       "      <td>8296876</td>\n",
       "      <td>2</td>\n",
       "      <td>192.99</td>\n",
       "      <td>52.87</td>\n",
       "      <td>140.12</td>\n",
       "      <td>96.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-03-15 01:14:58</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20082</th>\n",
       "      <td>1948985</td>\n",
       "      <td>7</td>\n",
       "      <td>1016.86</td>\n",
       "      <td>85.01</td>\n",
       "      <td>200.01</td>\n",
       "      <td>145.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-24 14:05:54</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>161375</th>\n",
       "      <td>12039555</td>\n",
       "      <td>10</td>\n",
       "      <td>3424.06</td>\n",
       "      <td>117.53</td>\n",
       "      <td>1104.34</td>\n",
       "      <td>342.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-10 16:14:00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>133625</th>\n",
       "      <td>9905366</td>\n",
       "      <td>16</td>\n",
       "      <td>3526.54</td>\n",
       "      <td>89.87</td>\n",
       "      <td>644.67</td>\n",
       "      <td>220.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-04-08 21:27:24</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>55912</th>\n",
       "      <td>4567509</td>\n",
       "      <td>3</td>\n",
       "      <td>413.64</td>\n",
       "      <td>86.84</td>\n",
       "      <td>224.29</td>\n",
       "      <td>137.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-01-05 01:03:03</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              id  count  res_time_sum  res_time_min  res_time_max  \\\n",
       "112157   8296876      2        192.99         52.87        140.12   \n",
       "20082    1948985      7       1016.86         85.01        200.01   \n",
       "161375  12039555     10       3424.06        117.53       1104.34   \n",
       "133625   9905366     16       3526.54         89.87        644.67   \n",
       "55912    4567509      3        413.64         86.84        224.29   \n",
       "\n",
       "        res_time_avg  interval           created_at  \n",
       "112157          96.0        60  2019-03-15 01:14:58  \n",
       "20082          145.0        60  2018-11-24 14:05:54  \n",
       "161375         342.0        60  2019-05-10 16:14:00  \n",
       "133625         220.0        60  2019-04-08 21:27:24  \n",
       "55912          137.0        60  2019-01-05 01:03:03  "
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = df.drop('api', axis = 1)  # 删除api，axis指定一列\n",
    "df.sample(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 179496 entries, 0 to 179495\n",
      "Data columns (total 8 columns):\n",
      " #   Column        Non-Null Count   Dtype  \n",
      "---  ------        --------------   -----  \n",
      " 0   id            179496 non-null  int64  \n",
      " 1   count         179496 non-null  int64  \n",
      " 2   res_time_sum  179496 non-null  float64\n",
      " 3   res_time_min  179496 non-null  float64\n",
      " 4   res_time_max  179496 non-null  float64\n",
      " 5   res_time_avg  179496 non-null  float64\n",
      " 6   interval      179496 non-null  int64  \n",
      " 7   created_at    179496 non-null  object \n",
      "dtypes: float64(4), int64(3), object(1)\n",
      "memory usage: 11.0+ MB\n"
     ]
    }
   ],
   "source": [
    "df.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count                  179496\n",
       "unique                 179496\n",
       "top       2019-04-29 11:42:47\n",
       "freq                        1\n",
       "Name: created_at, dtype: object"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['created_at'].describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>153089</th>\n",
       "      <td>11406128</td>\n",
       "      <td>6</td>\n",
       "      <td>2105.08</td>\n",
       "      <td>125.74</td>\n",
       "      <td>992.46</td>\n",
       "      <td>350.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:00:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153090</th>\n",
       "      <td>11406236</td>\n",
       "      <td>7</td>\n",
       "      <td>2579.11</td>\n",
       "      <td>76.55</td>\n",
       "      <td>987.47</td>\n",
       "      <td>368.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:01:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153091</th>\n",
       "      <td>11406347</td>\n",
       "      <td>7</td>\n",
       "      <td>1277.79</td>\n",
       "      <td>109.65</td>\n",
       "      <td>236.73</td>\n",
       "      <td>182.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:02:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153092</th>\n",
       "      <td>11406446</td>\n",
       "      <td>7</td>\n",
       "      <td>2137.20</td>\n",
       "      <td>131.55</td>\n",
       "      <td>920.52</td>\n",
       "      <td>305.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:03:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153093</th>\n",
       "      <td>11406488</td>\n",
       "      <td>13</td>\n",
       "      <td>2948.70</td>\n",
       "      <td>86.42</td>\n",
       "      <td>491.31</td>\n",
       "      <td>226.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:04:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153968</th>\n",
       "      <td>11475363</td>\n",
       "      <td>6</td>\n",
       "      <td>1083.97</td>\n",
       "      <td>70.85</td>\n",
       "      <td>262.22</td>\n",
       "      <td>180.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:55:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153969</th>\n",
       "      <td>11475483</td>\n",
       "      <td>4</td>\n",
       "      <td>840.00</td>\n",
       "      <td>117.31</td>\n",
       "      <td>382.63</td>\n",
       "      <td>210.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:56:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153970</th>\n",
       "      <td>11475550</td>\n",
       "      <td>2</td>\n",
       "      <td>295.51</td>\n",
       "      <td>101.71</td>\n",
       "      <td>193.80</td>\n",
       "      <td>147.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:57:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153971</th>\n",
       "      <td>11475597</td>\n",
       "      <td>2</td>\n",
       "      <td>431.99</td>\n",
       "      <td>84.43</td>\n",
       "      <td>347.56</td>\n",
       "      <td>215.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:58:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153972</th>\n",
       "      <td>11475664</td>\n",
       "      <td>3</td>\n",
       "      <td>428.84</td>\n",
       "      <td>103.58</td>\n",
       "      <td>206.57</td>\n",
       "      <td>142.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:59:49</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>884 rows × 8 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "              id  count  res_time_sum  res_time_min  res_time_max  \\\n",
       "153089  11406128      6       2105.08        125.74        992.46   \n",
       "153090  11406236      7       2579.11         76.55        987.47   \n",
       "153091  11406347      7       1277.79        109.65        236.73   \n",
       "153092  11406446      7       2137.20        131.55        920.52   \n",
       "153093  11406488     13       2948.70         86.42        491.31   \n",
       "...          ...    ...           ...           ...           ...   \n",
       "153968  11475363      6       1083.97         70.85        262.22   \n",
       "153969  11475483      4        840.00        117.31        382.63   \n",
       "153970  11475550      2        295.51        101.71        193.80   \n",
       "153971  11475597      2        431.99         84.43        347.56   \n",
       "153972  11475664      3        428.84        103.58        206.57   \n",
       "\n",
       "        res_time_avg  interval           created_at  \n",
       "153089         350.0        60  2019-05-01 00:00:48  \n",
       "153090         368.0        60  2019-05-01 00:01:48  \n",
       "153091         182.0        60  2019-05-01 00:02:48  \n",
       "153092         305.0        60  2019-05-01 00:03:48  \n",
       "153093         226.0        60  2019-05-01 00:04:48  \n",
       "...              ...       ...                  ...  \n",
       "153968         180.0        60  2019-05-01 23:55:49  \n",
       "153969         210.0        60  2019-05-01 23:56:49  \n",
       "153970         147.0        60  2019-05-01 23:57:49  \n",
       "153971         215.0        60  2019-05-01 23:58:49  \n",
       "153972         142.0        60  2019-05-01 23:59:49  \n",
       "\n",
       "[884 rows x 8 columns]"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[(df.created_at >= '2019-05-01') & (df.created_at < '2019-05-02')]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "RangeIndex(start=0, stop=179496, step=1)"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.index   # 当前索引"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "df.index = df['created_at']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['2018-11-01 00:00:07', '2018-11-01 00:01:07', '2018-11-01 00:02:07',\n",
       "       '2018-11-01 00:03:07', '2018-11-01 00:04:07', '2018-11-01 00:05:07',\n",
       "       '2018-11-01 00:06:07', '2018-11-01 00:07:07', '2018-11-01 00:08:07',\n",
       "       '2018-11-01 00:09:07',\n",
       "       ...\n",
       "       '2019-05-30 23:01:21', '2019-05-30 23:02:21', '2019-05-30 23:03:21',\n",
       "       '2019-05-30 23:04:21', '2019-05-30 23:05:21', '2019-05-30 23:06:21',\n",
       "       '2019-05-30 23:07:21', '2019-05-30 23:08:21', '2019-05-30 23:09:21',\n",
       "       '2019-05-30 23:10:21'],\n",
       "      dtype='object', name='created_at', length=179496)"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "df.index = pd.to_datetime(df.created_at)  # 把索引转换成时间格式"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DatetimeIndex(['2018-11-01 00:00:07', '2018-11-01 00:01:07',\n",
       "               '2018-11-01 00:02:07', '2018-11-01 00:03:07',\n",
       "               '2018-11-01 00:04:07', '2018-11-01 00:05:07',\n",
       "               '2018-11-01 00:06:07', '2018-11-01 00:07:07',\n",
       "               '2018-11-01 00:08:07', '2018-11-01 00:09:07',\n",
       "               ...\n",
       "               '2019-05-30 23:01:21', '2019-05-30 23:02:21',\n",
       "               '2019-05-30 23:03:21', '2019-05-30 23:04:21',\n",
       "               '2019-05-30 23:05:21', '2019-05-30 23:06:21',\n",
       "               '2019-05-30 23:07:21', '2019-05-30 23:08:21',\n",
       "               '2019-05-30 23:09:21', '2019-05-30 23:10:21'],\n",
       "              dtype='datetime64[ns]', name='created_at', length=179496, freq=None)"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2019-05-01 00:00:48</th>\n",
       "      <td>11406128</td>\n",
       "      <td>6</td>\n",
       "      <td>2105.08</td>\n",
       "      <td>125.74</td>\n",
       "      <td>992.46</td>\n",
       "      <td>350.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:00:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 00:01:48</th>\n",
       "      <td>11406236</td>\n",
       "      <td>7</td>\n",
       "      <td>2579.11</td>\n",
       "      <td>76.55</td>\n",
       "      <td>987.47</td>\n",
       "      <td>368.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:01:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 00:02:48</th>\n",
       "      <td>11406347</td>\n",
       "      <td>7</td>\n",
       "      <td>1277.79</td>\n",
       "      <td>109.65</td>\n",
       "      <td>236.73</td>\n",
       "      <td>182.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:02:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 00:03:48</th>\n",
       "      <td>11406446</td>\n",
       "      <td>7</td>\n",
       "      <td>2137.20</td>\n",
       "      <td>131.55</td>\n",
       "      <td>920.52</td>\n",
       "      <td>305.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:03:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 00:04:48</th>\n",
       "      <td>11406488</td>\n",
       "      <td>13</td>\n",
       "      <td>2948.70</td>\n",
       "      <td>86.42</td>\n",
       "      <td>491.31</td>\n",
       "      <td>226.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:04:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 23:55:49</th>\n",
       "      <td>11475363</td>\n",
       "      <td>6</td>\n",
       "      <td>1083.97</td>\n",
       "      <td>70.85</td>\n",
       "      <td>262.22</td>\n",
       "      <td>180.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:55:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 23:56:49</th>\n",
       "      <td>11475483</td>\n",
       "      <td>4</td>\n",
       "      <td>840.00</td>\n",
       "      <td>117.31</td>\n",
       "      <td>382.63</td>\n",
       "      <td>210.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:56:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 23:57:49</th>\n",
       "      <td>11475550</td>\n",
       "      <td>2</td>\n",
       "      <td>295.51</td>\n",
       "      <td>101.71</td>\n",
       "      <td>193.80</td>\n",
       "      <td>147.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:57:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 23:58:49</th>\n",
       "      <td>11475597</td>\n",
       "      <td>2</td>\n",
       "      <td>431.99</td>\n",
       "      <td>84.43</td>\n",
       "      <td>347.56</td>\n",
       "      <td>215.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:58:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 23:59:49</th>\n",
       "      <td>11475664</td>\n",
       "      <td>3</td>\n",
       "      <td>428.84</td>\n",
       "      <td>103.58</td>\n",
       "      <td>206.57</td>\n",
       "      <td>142.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:59:49</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>884 rows × 8 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                           id  count  res_time_sum  res_time_min  \\\n",
       "created_at                                                         \n",
       "2019-05-01 00:00:48  11406128      6       2105.08        125.74   \n",
       "2019-05-01 00:01:48  11406236      7       2579.11         76.55   \n",
       "2019-05-01 00:02:48  11406347      7       1277.79        109.65   \n",
       "2019-05-01 00:03:48  11406446      7       2137.20        131.55   \n",
       "2019-05-01 00:04:48  11406488     13       2948.70         86.42   \n",
       "...                       ...    ...           ...           ...   \n",
       "2019-05-01 23:55:49  11475363      6       1083.97         70.85   \n",
       "2019-05-01 23:56:49  11475483      4        840.00        117.31   \n",
       "2019-05-01 23:57:49  11475550      2        295.51        101.71   \n",
       "2019-05-01 23:58:49  11475597      2        431.99         84.43   \n",
       "2019-05-01 23:59:49  11475664      3        428.84        103.58   \n",
       "\n",
       "                     res_time_max  res_time_avg  interval           created_at  \n",
       "created_at                                                                      \n",
       "2019-05-01 00:00:48        992.46         350.0        60  2019-05-01 00:00:48  \n",
       "2019-05-01 00:01:48        987.47         368.0        60  2019-05-01 00:01:48  \n",
       "2019-05-01 00:02:48        236.73         182.0        60  2019-05-01 00:02:48  \n",
       "2019-05-01 00:03:48        920.52         305.0        60  2019-05-01 00:03:48  \n",
       "2019-05-01 00:04:48        491.31         226.0        60  2019-05-01 00:04:48  \n",
       "...                           ...           ...       ...                  ...  \n",
       "2019-05-01 23:55:49        262.22         180.0        60  2019-05-01 23:55:49  \n",
       "2019-05-01 23:56:49        382.63         210.0        60  2019-05-01 23:56:49  \n",
       "2019-05-01 23:57:49        193.80         147.0        60  2019-05-01 23:57:49  \n",
       "2019-05-01 23:58:49        347.56         215.0        60  2019-05-01 23:58:49  \n",
       "2019-05-01 23:59:49        206.57         142.0        60  2019-05-01 23:59:49  \n",
       "\n",
       "[884 rows x 8 columns]"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['2019-05-01']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count    179496.0\n",
       "mean         60.0\n",
       "std           0.0\n",
       "min          60.0\n",
       "25%          60.0\n",
       "50%          60.0\n",
       "75%          60.0\n",
       "max          60.0\n",
       "Name: interval, dtype: float64"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.interval.describe()  # 显示统计数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([60], dtype=int64)"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.interval.unique()  # 判断某一列有什么类型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = df.drop(['id', 'interval'], axis = 1)  # 删除id列和interval列"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2019-04-04 15:47:20</th>\n",
       "      <td>10</td>\n",
       "      <td>1879.78</td>\n",
       "      <td>112.13</td>\n",
       "      <td>372.95</td>\n",
       "      <td>187.0</td>\n",
       "      <td>2019-04-04 15:47:20</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-16 23:29:37</th>\n",
       "      <td>5</td>\n",
       "      <td>678.64</td>\n",
       "      <td>94.04</td>\n",
       "      <td>174.76</td>\n",
       "      <td>135.0</td>\n",
       "      <td>2018-11-16 23:29:37</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     count  res_time_sum  res_time_min  res_time_max  \\\n",
       "created_at                                                             \n",
       "2019-04-04 15:47:20     10       1879.78        112.13        372.95   \n",
       "2018-11-16 23:29:37      5        678.64         94.04        174.76   \n",
       "\n",
       "                     res_time_avg           created_at  \n",
       "created_at                                              \n",
       "2019-04-04 15:47:20         187.0  2019-04-04 15:47:20  \n",
       "2018-11-16 23:29:37         135.0  2018-11-16 23:29:37  "
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.sample(2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "DatetimeIndex: 179496 entries, 2018-11-01 00:00:07 to 2019-05-30 23:10:21\n",
      "Data columns (total 6 columns):\n",
      " #   Column        Non-Null Count   Dtype  \n",
      "---  ------        --------------   -----  \n",
      " 0   count         179496 non-null  int64  \n",
      " 1   res_time_sum  179496 non-null  float64\n",
      " 2   res_time_min  179496 non-null  float64\n",
      " 3   res_time_max  179496 non-null  float64\n",
      " 4   res_time_avg  179496 non-null  float64\n",
      " 5   created_at    179496 non-null  object \n",
      "dtypes: float64(4), int64(1), object(1)\n",
      "memory usage: 9.6+ MB\n"
     ]
    }
   ],
   "source": [
    "df.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>179496.000000</td>\n",
       "      <td>179496.000000</td>\n",
       "      <td>179496.000000</td>\n",
       "      <td>179496.000000</td>\n",
       "      <td>179496.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>7.175909</td>\n",
       "      <td>1393.177832</td>\n",
       "      <td>108.419626</td>\n",
       "      <td>359.880374</td>\n",
       "      <td>187.812208</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>4.325160</td>\n",
       "      <td>1499.486073</td>\n",
       "      <td>79.640693</td>\n",
       "      <td>638.919827</td>\n",
       "      <td>224.464813</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>36.550000</td>\n",
       "      <td>3.210000</td>\n",
       "      <td>36.550000</td>\n",
       "      <td>36.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>4.000000</td>\n",
       "      <td>607.707500</td>\n",
       "      <td>83.410000</td>\n",
       "      <td>198.280000</td>\n",
       "      <td>144.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>7.000000</td>\n",
       "      <td>1154.905000</td>\n",
       "      <td>97.120000</td>\n",
       "      <td>256.090000</td>\n",
       "      <td>167.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>10.000000</td>\n",
       "      <td>1834.117500</td>\n",
       "      <td>116.990000</td>\n",
       "      <td>374.410000</td>\n",
       "      <td>202.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>31.000000</td>\n",
       "      <td>142650.550000</td>\n",
       "      <td>18896.640000</td>\n",
       "      <td>142468.270000</td>\n",
       "      <td>71325.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               count   res_time_sum   res_time_min   res_time_max  \\\n",
       "count  179496.000000  179496.000000  179496.000000  179496.000000   \n",
       "mean        7.175909    1393.177832     108.419626     359.880374   \n",
       "std         4.325160    1499.486073      79.640693     638.919827   \n",
       "min         1.000000      36.550000       3.210000      36.550000   \n",
       "25%         4.000000     607.707500      83.410000     198.280000   \n",
       "50%         7.000000    1154.905000      97.120000     256.090000   \n",
       "75%        10.000000    1834.117500     116.990000     374.410000   \n",
       "max        31.000000  142650.550000   18896.640000  142468.270000   \n",
       "\n",
       "        res_time_avg  \n",
       "count  179496.000000  \n",
       "mean      187.812208  \n",
       "std       224.464813  \n",
       "min        36.000000  \n",
       "25%       144.000000  \n",
       "50%       167.000000  \n",
       "75%       202.000000  \n",
       "max     71325.000000  "
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df['count'].hist(color = 'g', rwidth = 0.6, alpha = 0.6)  # 直方图，初步分析count\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 增加柱子数量\n",
    "df['count'].hist(bins = 30, color = 'g', rwidth = 0.6, alpha = 0.6)  \n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 绘制一天的调用情况\n",
    "df['2019-5-15']['count'].plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 2点-10点无人访问，22点-23点是访问高峰"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2019-05-15 00:00:00</th>\n",
       "      <td>3.586207</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-15 01:00:00</th>\n",
       "      <td>1.800000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-15 02:00:00</th>\n",
       "      <td>1.090909</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-15 03:00:00</th>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-15 04:00:00</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-15 05:00:00</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-15 06:00:00</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-15 07:00:00</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-15 08:00:00</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-15 09:00:00</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-15 10:00:00</th>\n",
       "      <td>1.250000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-15 11:00:00</th>\n",
       "      <td>2.023256</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-15 12:00:00</th>\n",
       "      <td>5.150000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-15 13:00:00</th>\n",
       "      <td>7.616667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-15 14:00:00</th>\n",
       "      <td>9.166667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-15 15:00:00</th>\n",
       "      <td>9.966667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-15 16:00:00</th>\n",
       "      <td>7.866667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-15 17:00:00</th>\n",
       "      <td>6.050000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-15 18:00:00</th>\n",
       "      <td>7.200000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-15 19:00:00</th>\n",
       "      <td>8.383333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-15 20:00:00</th>\n",
       "      <td>11.116667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-15 21:00:00</th>\n",
       "      <td>11.516667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-15 22:00:00</th>\n",
       "      <td>10.333333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-15 23:00:00</th>\n",
       "      <td>7.466667</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                         count\n",
       "created_at                    \n",
       "2019-05-15 00:00:00   3.586207\n",
       "2019-05-15 01:00:00   1.800000\n",
       "2019-05-15 02:00:00   1.090909\n",
       "2019-05-15 03:00:00   1.000000\n",
       "2019-05-15 04:00:00        NaN\n",
       "2019-05-15 05:00:00        NaN\n",
       "2019-05-15 06:00:00        NaN\n",
       "2019-05-15 07:00:00        NaN\n",
       "2019-05-15 08:00:00        NaN\n",
       "2019-05-15 09:00:00        NaN\n",
       "2019-05-15 10:00:00   1.250000\n",
       "2019-05-15 11:00:00   2.023256\n",
       "2019-05-15 12:00:00   5.150000\n",
       "2019-05-15 13:00:00   7.616667\n",
       "2019-05-15 14:00:00   9.166667\n",
       "2019-05-15 15:00:00   9.966667\n",
       "2019-05-15 16:00:00   7.866667\n",
       "2019-05-15 17:00:00   6.050000\n",
       "2019-05-15 18:00:00   7.200000\n",
       "2019-05-15 19:00:00   8.383333\n",
       "2019-05-15 20:00:00  11.116667\n",
       "2019-05-15 21:00:00  11.516667\n",
       "2019-05-15 22:00:00  10.333333\n",
       "2019-05-15 23:00:00   7.466667"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 用count重新采样，用一个小时采样\n",
    "df2 = df['2019-5-15']\n",
    "df2 = df2[['count']].resample('1H').mean()\n",
    "df2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 绘制成折线图\n",
    "df2['count'].plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 直方图和折线图，可以看到高峰时段在什么地方，分不清间，绘制柱状图\n",
    "plt.figure(figsize = (12, 5))  # 单位是英尺\n",
    "df2['count'].plot(kind = 'bar')\n",
    "plt.xticks(rotation = 60)  # 文字旋转角度\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 分析有没有异常时段，访问接口过去频繁，\n",
    "df['2019-5-15'][['count']].boxplot(showmeans = True, meanline = True)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-11-01 20:47:09</th>\n",
       "      <td>21</td>\n",
       "      <td>3117.20</td>\n",
       "      <td>84.90</td>\n",
       "      <td>260.82</td>\n",
       "      <td>148.0</td>\n",
       "      <td>2018-11-01 20:47:09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 21:03:09</th>\n",
       "      <td>21</td>\n",
       "      <td>3706.20</td>\n",
       "      <td>78.12</td>\n",
       "      <td>321.47</td>\n",
       "      <td>176.0</td>\n",
       "      <td>2018-11-01 21:03:09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 21:13:09</th>\n",
       "      <td>24</td>\n",
       "      <td>4602.03</td>\n",
       "      <td>76.31</td>\n",
       "      <td>391.12</td>\n",
       "      <td>191.0</td>\n",
       "      <td>2018-11-01 21:13:09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-02 21:34:11</th>\n",
       "      <td>30</td>\n",
       "      <td>4610.15</td>\n",
       "      <td>72.49</td>\n",
       "      <td>463.41</td>\n",
       "      <td>153.0</td>\n",
       "      <td>2018-11-02 21:34:11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-03 14:20:13</th>\n",
       "      <td>21</td>\n",
       "      <td>3113.93</td>\n",
       "      <td>74.29</td>\n",
       "      <td>266.20</td>\n",
       "      <td>148.0</td>\n",
       "      <td>2018-11-03 14:20:13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 21:33:21</th>\n",
       "      <td>27</td>\n",
       "      <td>6456.64</td>\n",
       "      <td>99.65</td>\n",
       "      <td>978.91</td>\n",
       "      <td>239.0</td>\n",
       "      <td>2019-05-30 21:33:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 21:43:21</th>\n",
       "      <td>21</td>\n",
       "      <td>6371.84</td>\n",
       "      <td>65.98</td>\n",
       "      <td>1175.37</td>\n",
       "      <td>303.0</td>\n",
       "      <td>2019-05-30 21:43:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 21:47:21</th>\n",
       "      <td>21</td>\n",
       "      <td>3992.83</td>\n",
       "      <td>87.83</td>\n",
       "      <td>440.88</td>\n",
       "      <td>190.0</td>\n",
       "      <td>2019-05-30 21:47:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 21:53:21</th>\n",
       "      <td>24</td>\n",
       "      <td>8467.02</td>\n",
       "      <td>120.22</td>\n",
       "      <td>1511.17</td>\n",
       "      <td>352.0</td>\n",
       "      <td>2019-05-30 21:53:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 22:17:21</th>\n",
       "      <td>21</td>\n",
       "      <td>4926.35</td>\n",
       "      <td>85.01</td>\n",
       "      <td>826.90</td>\n",
       "      <td>234.0</td>\n",
       "      <td>2019-05-30 22:17:21</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>746 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                     count  res_time_sum  res_time_min  res_time_max  \\\n",
       "created_at                                                             \n",
       "2018-11-01 20:47:09     21       3117.20         84.90        260.82   \n",
       "2018-11-01 21:03:09     21       3706.20         78.12        321.47   \n",
       "2018-11-01 21:13:09     24       4602.03         76.31        391.12   \n",
       "2018-11-02 21:34:11     30       4610.15         72.49        463.41   \n",
       "2018-11-03 14:20:13     21       3113.93         74.29        266.20   \n",
       "...                    ...           ...           ...           ...   \n",
       "2019-05-30 21:33:21     27       6456.64         99.65        978.91   \n",
       "2019-05-30 21:43:21     21       6371.84         65.98       1175.37   \n",
       "2019-05-30 21:47:21     21       3992.83         87.83        440.88   \n",
       "2019-05-30 21:53:21     24       8467.02        120.22       1511.17   \n",
       "2019-05-30 22:17:21     21       4926.35         85.01        826.90   \n",
       "\n",
       "                     res_time_avg           created_at  \n",
       "created_at                                              \n",
       "2018-11-01 20:47:09         148.0  2018-11-01 20:47:09  \n",
       "2018-11-01 21:03:09         176.0  2018-11-01 21:03:09  \n",
       "2018-11-01 21:13:09         191.0  2018-11-01 21:13:09  \n",
       "2018-11-02 21:34:11         153.0  2018-11-02 21:34:11  \n",
       "2018-11-03 14:20:13         148.0  2018-11-03 14:20:13  \n",
       "...                           ...                  ...  \n",
       "2019-05-30 21:33:21         239.0  2019-05-30 21:33:21  \n",
       "2019-05-30 21:43:21         303.0  2019-05-30 21:43:21  \n",
       "2019-05-30 21:47:21         190.0  2019-05-30 21:47:21  \n",
       "2019-05-30 21:53:21         352.0  2019-05-30 21:53:21  \n",
       "2019-05-30 22:17:21         234.0  2019-05-30 22:17:21  \n",
       "\n",
       "[746 rows x 6 columns]"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 分析大于20的数据\n",
    "df[df['count'] > 20]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 某一天的响应时间，响应的平均时间\n",
    "df['2019-5-15']['res_time_avg'].plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 查看平均时间有没有异常\n",
    "df['2019-5-15'][['res_time_avg']].boxplot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "c:\\users\\liyan\\appdata\\local\\programs\\python\\python37\\lib\\site-packages\\ipykernel_launcher.py:3: UserWarning: Boolean Series key will be reindexed to match DataFrame index.\n",
      "  This is separate from the ipykernel package so we can avoid doing imports until\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2019-05-15 10:24:06</th>\n",
       "      <td>1</td>\n",
       "      <td>1039.25</td>\n",
       "      <td>1039.25</td>\n",
       "      <td>1039.25</td>\n",
       "      <td>1039.0</td>\n",
       "      <td>2019-05-15 10:24:06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-15 14:18:06</th>\n",
       "      <td>10</td>\n",
       "      <td>14022.39</td>\n",
       "      <td>173.13</td>\n",
       "      <td>2298.88</td>\n",
       "      <td>1402.0</td>\n",
       "      <td>2019-05-15 14:18:06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-15 14:20:06</th>\n",
       "      <td>10</td>\n",
       "      <td>10241.47</td>\n",
       "      <td>333.70</td>\n",
       "      <td>2361.12</td>\n",
       "      <td>1024.0</td>\n",
       "      <td>2019-05-15 14:20:06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-15 21:26:06</th>\n",
       "      <td>12</td>\n",
       "      <td>12032.34</td>\n",
       "      <td>238.74</td>\n",
       "      <td>3058.49</td>\n",
       "      <td>1002.0</td>\n",
       "      <td>2019-05-15 21:26:06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-15 21:27:06</th>\n",
       "      <td>13</td>\n",
       "      <td>32496.31</td>\n",
       "      <td>142.03</td>\n",
       "      <td>10565.55</td>\n",
       "      <td>2499.0</td>\n",
       "      <td>2019-05-15 21:27:06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-15 22:22:06</th>\n",
       "      <td>8</td>\n",
       "      <td>8317.92</td>\n",
       "      <td>119.20</td>\n",
       "      <td>3274.82</td>\n",
       "      <td>1039.0</td>\n",
       "      <td>2019-05-15 22:22:06</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     count  res_time_sum  res_time_min  res_time_max  \\\n",
       "created_at                                                             \n",
       "2019-05-15 10:24:06      1       1039.25       1039.25       1039.25   \n",
       "2019-05-15 14:18:06     10      14022.39        173.13       2298.88   \n",
       "2019-05-15 14:20:06     10      10241.47        333.70       2361.12   \n",
       "2019-05-15 21:26:06     12      12032.34        238.74       3058.49   \n",
       "2019-05-15 21:27:06     13      32496.31        142.03      10565.55   \n",
       "2019-05-15 22:22:06      8       8317.92        119.20       3274.82   \n",
       "\n",
       "                     res_time_avg           created_at  \n",
       "created_at                                              \n",
       "2019-05-15 10:24:06        1039.0  2019-05-15 10:24:06  \n",
       "2019-05-15 14:18:06        1402.0  2019-05-15 14:18:06  \n",
       "2019-05-15 14:20:06        1024.0  2019-05-15 14:20:06  \n",
       "2019-05-15 21:26:06        1002.0  2019-05-15 21:26:06  \n",
       "2019-05-15 21:27:06        2499.0  2019-05-15 21:27:06  \n",
       "2019-05-15 22:22:06        1039.0  2019-05-15 22:22:06  "
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 查看平均时间大于1000的\n",
    "df2 = df['2019-5-15']\n",
    "df2[df['res_time_avg'] > 1000]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [],
   "source": [
    "#  2019-05-15 10:24:06\t1\t1039.25\t1039.25\t1039.25\t1039.0\t2019-05-15 10:24:06  可能存在异常"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAEHCAYAAACumTGlAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOydeXxU1fmHn3eWZLKxhh0hQRFwQa2Iuz+pVlxxayt2UVurtmqxrVpBq6IVlxaXulFxFxXFHVncUaQuCAJh37cQlhBIIPss5/fHvZNMkplszGQmyft8PsnMnHvuvd+59855z3nPOe8RYwyKoiiK4oi3AEVRFCUxUIOgKIqiAGoQFEVRFBs1CIqiKAqgBkFRFEWxUYOgKIqiAOCKt4DmkpmZabKysuItQ1EUpVWxcOHC3caYbuG2tVqDkJWVxYIFC+ItQ1EUpVUhIpsjbVOXkaIoigKoQVAURVFs1CAoiqIoQCvuQwiH1+slNzeX8vLyeEtRwuDxeOjbty9utzveUhRFCUObMgi5ublkZGSQlZWFiMRbjhKCMYaCggJyc3PJzs6OtxxFUcLQplxG5eXldO3aVY1BAiIidO3aVVtvipLAtCmDAKgxSGD03ijRZEtBKVljZ7I8ryjeUtoMbc4gKIrSPvhkxQ4A3lm4Lc5K2g5qEBKcxx57jNLS0qrP5557LoWFhXFUpChKW0UNQgwxxhAIBA7oGLUNwqxZs+jUqdOBSlMURalDmxplFMo9Hy5nRd6+qB7zsN4duPuCw+vNs2nTJs455xxGjBjBt99+y0UXXcSMGTOoqKjg4osv5p577qGkpIRf/vKX5Obm4vf7ufPOO7nsssvqHOvxxx8nLy+PESNGkJmZyZw5c6pCdhQXF3P22Wdzyimn8N1333HUUUfxu9/9jrvvvptdu3bx2muvMXz4cEpKSvjzn//M0qVL8fl8jB8/ngsvvDCs9uXLl/O73/2OyspKAoEA77zzDm63m/PPP59ly5YBMHHiRIqLixk/fjynn346xxxzDAsXLiQ/P59XXnmFBx54gKVLl3LZZZdx3333HfhFVxSlxWizBiGerF69mhdffJGLLrqIt99+m/nz52OMYdSoUcydO5f8/Hx69+7NzJkzASgqCt8pNmbMGB555BHmzJlDZmZmne3r1q3jrbfeYvLkyRx33HG8/vrrzJs3j+nTp3P//ffz/vvvM2HCBH7605/ywgsvUFhYyPDhwznzzDNJS0urc7z//ve/3HTTTfz617+msrISv9/Pzp076/2uSUlJzJ07l//85z9ceOGFLFy4kC5dunDwwQfz17/+la5duzbjCiqKEg/arEFoqCYfS/r3788JJ5zALbfcwieffMIxxxwDQHFxMWvXruXUU0/llltu4bbbbuP888/n1FNPbdZ5srOzOfLIIwE4/PDDOeOMMxARjjzySDZt2gTAJ598wvTp05k4cSJgDc3dsmULQ4YMqXO8E088kQkTJpCbm8sll1zCwIEDG9QwatQoAI488kgOP/xwevXqBcCAAQPYunWrGgRFaUW0WYMQT4K1b2MM48aN47rrrquTZ+HChcyaNYtx48Zx1llncddddzX5PMnJyVXvHQ5H1WeHw4HP56vS8M477zBo0KAGj/erX/2K448/npkzZzJy5Eiee+45Dj300Br9ILXnEYSes7aeoAZFUVoH2qkcQ0aOHMkLL7xAcXExANu2bWPXrl3k5eWRmprKb37zG2655RZ+/PHHiMfIyMhg//79B6ThiSeewBgDwKJFiyLm3bBhAwMGDGDMmDGMGjWKnJwcevTowa5duygoKKCiooIZM2Y0W4uixAKd3hI9tIUQQ8466yxWrlzJiSeeCEB6ejqvvvoq69at49Zbb8XhcOB2u5k0aVLEY1x77bWcc8459OrVizlz5jRZw5133slf/vIXhg4dijGGrKysiIX6m2++yauvvorb7aZnz57cdddduN1u7rrrLo4//niys7MZPHhwkzUoitI6kGDNsbUxbNgwU3uBnJUrV4b1jSuJg94jJVo89/UG7pu5kqtPyebO8w+Lt5xWg4gsNMYMC7dNXUaKoigKoC6jhOHiiy9m48aNNdIeeughRo4cGfVzffzxx9x222010rKzs3nvvfeifi5FUVoPahAShJYsjEeOHBkTQ6MoSutGXUaKorRKWmn3Z0KjBkFRFEUB1CAoiqIoNmoQFEVp1ei8tOihBiHBScT1EO666y4+++yzuGpQFCX6qEGIIW11PYR7772XM888M64aFEWJPm132OnssbBjaXSP2fNIOOfBerO05vUQXnrpJd5//338fj/Lli3j5ptvprKykilTppCcnMysWbPo0qULV111Feeffz4///nPycrK4sorr+TDDz/E6/Xy1ltvaXgLRWmlaAshBqxevZorrriChx56iG3btjF//nwWL17MwoULmTt3Lh999BG9e/dmyZIlLFu2jLPPPjvsccaMGUPv3r2ZM2dO2DhG69at46abbiInJ4dVq1ZVrYcwceJE7r//foCq9RB++OEH5syZw6233kpJSUlE7cuWLeP1119n/vz53HHHHaSmprJo0SJOPPFEXnnllbD7ZGZm8uOPP/KnP/2pKsy2oiitj7bbQmigJh9LWut6CAAjRowgIyODjIwMOnbsyAUXXABY6x3k5OSE3eeSSy4B4Nhjj+Xdd99t1ndRFCX+tF2DEEda63oIjT1mpH2cTqeugaC0GAadmRZtGnQZichBIjJHRFaKyHIRuclO7yIin4rIWvu1c8g+40RknYisFpGRIenHishSe9vjIlYkcxFJFpE37fTvRSQr+l+15Wlt6yEoitK+aUwLwQfcbIz5UUQygIUi8ilwFfC5MeZBERkLjAVuE5HDgNHA4UBv4DMROdQY4wcmAdcC3wGzgLOB2cDVwF5jzCEiMhp4CKjby9rKaG3rISiK0r5p8noIIvIB8KT9d7oxZruI9AK+NMYMEpFxAMaYB+z8HwPjgU3AHGPMYDv9cnv/64J5jDHfiogL2AF0M/WI0/UQWid6j5RoMXnueu6ftYprTs3mjvN0PYTGErX1EGxXzjHA90APY8x2APu1u52tD7A1ZLdcO62P/b52eo19jDE+oAjQ1dkVRVFakEZ3KotIOvAO8BdjzD6JvJBpuA2mnvT69qmt4VoslxP9+vVrSHKrQtdDUBQl3jTKIIiIG8sYvGaMCY4r3CkivUJcRrvs9FzgoJDd+wJ5dnrfMOmh++TaLqOOwJ7aOowxk4HJYLmMGqO9taDrIShN4dR/fUFmejLvXX9yvKUobYjGjDIS4HlgpTHmkZBN04Er7fdXAh+EpI+2Rw5lAwOB+bZbab+InGAf84pa+wSP9XPgi/r6DxSlvbN1TxmLtsQ3ppXS9mhMC+Fk4LfAUhFZbKfdDjwITBORq4EtwC8AjDHLRWQasAJrhNIN9ggjgD8BLwEpWKOLZtvpzwNTRGQdVstg9AF+L0VRFKWJNGgQjDHziBxh9owI+0wAJoRJXwAcESa9HNugKIqiNAb1IUQfjWWkKIqiAGoQEp5EXA9BUZS2iRqEGNJW10NQlESiniHwShNps8HtHpr/EKv2rIrqMQd3Gcxtw2+rN097WA/h2WefZfLkyVRWVnLIIYcwZcoUUlNTufDCC7n00ku54ooreOaZZ5g7dy6vvfZaVK69okRCByRGD20hxIC2vh7CJZdcwg8//MCSJUsYMmQIzz//PACTJ0/m3nvv5euvv+bhhx/miSeeONBLqShKC9JmWwgN1eRjSVtfD2HZsmX84x//oLCwkOLi4qpJbj169ODee+9lxIgRvPfee3Tp0qVZ30tRmoK6jKJHmzUI8aStr4dw1VVX8f7773PUUUfx0ksv8eWXX1bts3TpUrp27UpeXh6KorQu1GUUQ9rqegj79++nV69eeL3eGn0E8+fPZ/bs2SxatIiJEyfWic2kKEpioy2EGNJW10P45z//yfHHH0///v058sgj2b9/PxUVFVxzzTW8+OKL9O7dm4cffpjf//73fPHFF9qkV2KCdiVHnyavh5Ao6HoIrRO9R9Eha+xMADY9eF6clcSP/361ngdnr+La0wZw+7n6TDWWqK2HoCiKorRd1GWUIOh6CIqixBs1CAmCroegKE1De6aij7qMFEVplbTO3s/ERg2CoiiKAqhBUBRFUWzUICiK0qrRvoTooQYhwdH1EBRFaSnUIMQQXQ9BUZTWRJsddrrj/vupWBnd9RCShwym5+2315unNa+HsGnTJn77299Whcd+8sknOemkk7jsssu48sorOffccwEruN0FF1zAOeecw1VXXcWqVasYMmQImzZt4qmnnmLYsLCTIBUlqrTSIAsJTZs1CPFk9erVvPjii1x00UW8/fbbzJ8/H2MMo0aNYu7cueTn59O7d29mzrTCDxQVFYU9zpgxY3jkkUeYM2cOmZmZdbavW7eOt956i8mTJ3PcccdVrYcwffp07r//ft5///2q9RBeeOEFCgsLGT58OGeeeWZVRNZQunfvzqefforH42Ht2rVcfvnlLFiwgNGjR/Pmm29y7rnnUllZyeeff86kSZN46qmn6Ny5Mzk5OSxbtoyjjz46uhdSUZQWpc0ahIZq8rGkta6H4PV6ufHGG1m8eDFOp5M1a9YAcM455zBmzBgqKir46KOPOO2000hJSWHevHncdNNNABxxxBEMHTq0Wd9DUZqDxkyMPm3WIMST1roewqOPPkqPHj1YsmQJgUAAj8cDgMfj4fTTT+fjjz/mzTff5PLLL686tqLE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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 查看访问时间\n",
    "df['2019-5-1'][['res_time_sum',\t'res_time_min',\t'res_time_max',\t'res_time_avg']].plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 20分钟采样\n",
    "data = df['2019-5-15'].resample('20T').mean()\n",
    "data[['res_time_sum',\t'res_time_min',\t'res_time_max',\t'res_time_avg']].plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 业务高峰时段在20点-21点"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 查看时间段内的访问次数\n",
    "df['2019-5-1' : '2019-5-16']['count'].plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Int64Index([2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n",
       "            ...\n",
       "            2, 2, 2, 2, 2, 2, 2, 2, 2, 2],\n",
       "           dtype='int64', name='created_at', length=884)"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 查看周和平时是不是一样\n",
    "df['2019-5-1'].index.weekday # 0代表周一，1代表周二 …… 5代表周六，6代表周日"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>created_at</th>\n",
       "      <th>weekday</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:00:07</th>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:01:07</th>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     count  res_time_sum  res_time_min  res_time_max  \\\n",
       "created_at                                                             \n",
       "2018-11-01 00:00:07      8       1057.31         88.75        177.72   \n",
       "2018-11-01 00:01:07      5        749.12        103.79        240.38   \n",
       "\n",
       "                     res_time_avg           created_at  weekday  \n",
       "created_at                                                       \n",
       "2018-11-01 00:00:07         132.0  2018-11-01 00:00:07        3  \n",
       "2018-11-01 00:01:07         149.0  2018-11-01 00:01:07        3  "
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 建一列数据，显示周几\n",
    "df['weekday'] = df.index.weekday\n",
    "df.head(2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>created_at</th>\n",
       "      <th>weekday</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:00:07</th>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:01:07</th>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:02:07</th>\n",
       "      <td>5</td>\n",
       "      <td>845.84</td>\n",
       "      <td>136.31</td>\n",
       "      <td>225.73</td>\n",
       "      <td>169.0</td>\n",
       "      <td>2018-11-01 00:02:07</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:03:07</th>\n",
       "      <td>9</td>\n",
       "      <td>1305.52</td>\n",
       "      <td>90.12</td>\n",
       "      <td>196.61</td>\n",
       "      <td>145.0</td>\n",
       "      <td>2018-11-01 00:03:07</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:04:07</th>\n",
       "      <td>3</td>\n",
       "      <td>568.89</td>\n",
       "      <td>138.45</td>\n",
       "      <td>232.02</td>\n",
       "      <td>189.0</td>\n",
       "      <td>2018-11-01 00:04:07</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     count  res_time_sum  res_time_min  res_time_max  \\\n",
       "created_at                                                             \n",
       "2018-11-01 00:00:07      8       1057.31         88.75        177.72   \n",
       "2018-11-01 00:01:07      5        749.12        103.79        240.38   \n",
       "2018-11-01 00:02:07      5        845.84        136.31        225.73   \n",
       "2018-11-01 00:03:07      9       1305.52         90.12        196.61   \n",
       "2018-11-01 00:04:07      3        568.89        138.45        232.02   \n",
       "\n",
       "                     res_time_avg           created_at  weekday  \n",
       "created_at                                                       \n",
       "2018-11-01 00:00:07         132.0  2018-11-01 00:00:07    False  \n",
       "2018-11-01 00:01:07         149.0  2018-11-01 00:01:07    False  \n",
       "2018-11-01 00:02:07         169.0  2018-11-01 00:02:07    False  \n",
       "2018-11-01 00:03:07         145.0  2018-11-01 00:03:07    False  \n",
       "2018-11-01 00:04:07         189.0  2018-11-01 00:04:07    False  "
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['weekday'] = df['weekday'].isin({5, 6})\n",
    "df.head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "weekday\n",
       "False    7.016846\n",
       "True     7.574989\n",
       "Name: count, dtype: float64"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    " # 对weekend 进行分组， 对count列 求平均值\n",
    "df.groupby('weekday')['count'].mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "weekday  created_at\n",
       "False    0              3.239120\n",
       "         1              1.668388\n",
       "         2              1.162551\n",
       "         3              1.086705\n",
       "         4              1.155556\n",
       "         5              1.136364\n",
       "         6              1.000000\n",
       "         7              1.000000\n",
       "         8              1.000000\n",
       "         9              1.080000\n",
       "         10             1.239011\n",
       "         11             2.031690\n",
       "         12             4.195845\n",
       "         13             6.668042\n",
       "         14             8.260503\n",
       "         15             8.934448\n",
       "         16             8.466504\n",
       "         17             6.784996\n",
       "         18             6.717731\n",
       "         19             8.655913\n",
       "         20            10.536496\n",
       "         21            10.846906\n",
       "         22             9.034164\n",
       "         23             5.946834\n",
       "True     0              3.467782\n",
       "         1              1.741849\n",
       "         2              1.161826\n",
       "         3              1.050000\n",
       "         4              1.076923\n",
       "         5              1.333333\n",
       "         6              1.000000\n",
       "         7              1.000000\n",
       "         8              1.071429\n",
       "         9              1.144928\n",
       "         10             1.254111\n",
       "         11             1.992958\n",
       "         12             4.031889\n",
       "         13             6.905772\n",
       "         14             8.851321\n",
       "         15             9.858422\n",
       "         16             9.420550\n",
       "         17             7.334743\n",
       "         18             7.342150\n",
       "         19             9.270430\n",
       "         20            11.173609\n",
       "         21            11.695043\n",
       "         22            10.419916\n",
       "         23             7.025452\n",
       "Name: count, dtype: float64"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 周末调用平均次数多，7.57， \n",
    "\n",
    "\n",
    "# 周末哪个时段调用次数比较高\n",
    "df.groupby(['weekday', df.index.hour])['count'].mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 周末和非周末，具体时间对比， 绘制成图形，否则不直观\n",
    "df.groupby(['weekday', df.index.hour])['count'].mean().plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>weekday</th>\n",
       "      <th>False</th>\n",
       "      <th>True</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>3.239120</td>\n",
       "      <td>3.467782</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1.668388</td>\n",
       "      <td>1.741849</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1.162551</td>\n",
       "      <td>1.161826</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1.086705</td>\n",
       "      <td>1.050000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1.155556</td>\n",
       "      <td>1.076923</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>1.136364</td>\n",
       "      <td>1.333333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.071429</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>1.080000</td>\n",
       "      <td>1.144928</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>1.239011</td>\n",
       "      <td>1.254111</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>2.031690</td>\n",
       "      <td>1.992958</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>4.195845</td>\n",
       "      <td>4.031889</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>6.668042</td>\n",
       "      <td>6.905772</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>8.260503</td>\n",
       "      <td>8.851321</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>8.934448</td>\n",
       "      <td>9.858422</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>8.466504</td>\n",
       "      <td>9.420550</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>6.784996</td>\n",
       "      <td>7.334743</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>6.717731</td>\n",
       "      <td>7.342150</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>8.655913</td>\n",
       "      <td>9.270430</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>10.536496</td>\n",
       "      <td>11.173609</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>10.846906</td>\n",
       "      <td>11.695043</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>9.034164</td>\n",
       "      <td>10.419916</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>5.946834</td>\n",
       "      <td>7.025452</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "weekday         False      True \n",
       "created_at                      \n",
       "0            3.239120   3.467782\n",
       "1            1.668388   1.741849\n",
       "2            1.162551   1.161826\n",
       "3            1.086705   1.050000\n",
       "4            1.155556   1.076923\n",
       "5            1.136364   1.333333\n",
       "6            1.000000   1.000000\n",
       "7            1.000000   1.000000\n",
       "8            1.000000   1.071429\n",
       "9            1.080000   1.144928\n",
       "10           1.239011   1.254111\n",
       "11           2.031690   1.992958\n",
       "12           4.195845   4.031889\n",
       "13           6.668042   6.905772\n",
       "14           8.260503   8.851321\n",
       "15           8.934448   9.858422\n",
       "16           8.466504   9.420550\n",
       "17           6.784996   7.334743\n",
       "18           6.717731   7.342150\n",
       "19           8.655913   9.270430\n",
       "20          10.536496  11.173609\n",
       "21          10.846906  11.695043\n",
       "22           9.034164  10.419916\n",
       "23           5.946834   7.025452"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 周末和非周末数据叠加\n",
    "df.groupby(['weekday', df.index.hour])['count'].mean().unstack(level = 0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 展示周末与非周末，时间段时间对比\n",
    "df.groupby(['weekday', df.index.hour])['count'].mean().unstack(level = 0).plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
